home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / graphics / vlapak1.zip / TSR_VLA.ZIP / TSR.NFO < prev    next >
Text File  |  1993-08-19  |  3KB  |  101 lines

  1. NOTE: The TAB spacing for this and all ASM source from VLA is set to 4.
  2.       so if the code looks crappy, change your TAB spacing.
  3.  
  4.                   ** TASM 3.2 and TLINK 5.1 were used **
  5. ────────────────────────────────────────────────────────────────────────────
  6.  
  7.                  WELCOME TO YET ANOTHER VLA PRESENTATION!
  8.  
  9.                                 TSR BASICS
  10.  
  11. ────────────────────────────────────────────────────────────────────────────
  12.  
  13.  * TSR = Terminate Stay Resident (You know that, right? =)
  14.  
  15. ────────────────────────────────────────────────────────────────────────────
  16.  
  17.   The included TSR:
  18.  
  19.     ■ Fully uninstalls itself if it's already installed
  20.  
  21.     ■ Detects what video mode the computer is in (through BIOS)
  22.        only prints the clock in ALPHA modes 0-3
  23.  
  24.     ■ Prints a nice little clock in the upper right hand corner of the 
  25.        screen, blue on green, military time
  26.  
  27.     ■ Latches into the multiplex interrupt 2fh properly
  28.  
  29.     ■ Is totally useless
  30.  
  31.     ■ Is free and has source
  32.  
  33. ────────────────────────────────────────────────────────────────────────────
  34.  
  35.     Files that should be in this ZIP:
  36.  
  37.         VLA.NFO - Same old file, info on how to contact us
  38.  
  39.         TSR.ASM - SOURCE!
  40.  
  41.         TSR.COM - The executable file for those still stuck in MASM
  42.                    or those who (GASP!) don't have an assembler
  43.  
  44.         TSR.NFO - This file.
  45.  
  46.        CTAS.BAT - One of my batch file to compile a COM file w/ tasm
  47.  
  48. ────────────────────────────────────────────────────────────────────────────
  49. There really isn't much I can say about TSR's... So I'll just point out a
  50. few things to remember...
  51.  
  52.     ∙ Save ALL registers in the interrupt handlers
  53.  
  54.     ∙ Don't forget to do a OUT 20h,20h if it's a hardware interrupt
  55.  
  56.     ∙ Always return with an IRET or RETF 2
  57.  
  58.     ∙ If you need to push more than 1 or 2 words to the stack, relocate
  59.         the stack to your own area because the current stack may be too
  60.         small
  61.  
  62.     ∙ Do a PUSHF before a CALL [DWORD cs:OldIntxx]
  63.  
  64.     ∙ Stacks always go down when you push something- do this for your stack:
  65.  
  66.             dw  40 dup (?)
  67.        The_Stack dw ?
  68.  
  69.         and move sp,offset The_Stack and ss,cs
  70.  
  71.     ∙ Whenever you screw with a small stack, DISABLE INTERRUPTS
  72.  
  73.     ∙ Memory allocated by FN# 48h - 4Ah stays allocated when you TSR,
  74.         if you don't need the memory, release it.
  75.  
  76.     ∙ Int 28h is called whenever a character input is requested (Idle INT)
  77.         It's a good idea to wait for Idle time to do your TSR. (Set a flag
  78.         in your keyboard intercept and when the idle int is called, execute
  79.         the TSR.)
  80.  
  81.     ∙ Don't allow reentry into your interrupt handlers, especially with
  82.         pop-ups.
  83.  
  84.  
  85. And one last thing that I didn't use or mention...
  86.  
  87.     Function 34h, int 21h returns a far ptr [ES:BX] to a flag that indicates
  88. if dos is currently running a function. If the byte at [ES:BX] is 0, then
  89. it is safe to do your TSR.  Pop-ups are the ones you really need to do this
  90. in.  Absolutly DO NOT call a DOS function if the InDOS flag is non-zero.
  91.     You really only need to check the flag in IRQ handlers, not software
  92. INT's, but checking doesn't hurt.
  93.  
  94.  
  95.     And that is it.  Until next time.. (hopefully it'll be a demo!)
  96.  
  97.  
  98.     Draeden /VLA
  99.  
  100.     
  101.